The present invention relates to color image compression apparatus and method as applied to uses in a color video display frame buffer.
True color video display boards are known in the prior art. True color refers to 24 bits per pixel, enabling the display to show up to 16 million different colors. These systems have traditionally been expensive due to the complexity of the electronics and requirement for large amounts of video RAM, which has traditionally been expensive. However, as the RAM price decreases and the demand for true color systems increases, there will be an ever increasing demand for 24-bit video display systems.
Several manufacturers provide 24-bit display systems for personal computers (PC). Most are designed to drive smaller (640.times.480) displays on up to the larger (1280.times.1024) devices. When displaying a 1280.times.1024.times.24 bit image, it can be seen why the frame buffer is almost 4 megabytes. One desirable feature that some companies offer is the "virtual" desktop. For example, say that you have scanned a color image at 300 dpi. The page size was, say, 81/2.times.11. The image size then is 2400 dots by 3300 dots, yielding a 30-Megabyte image. The display is only 1280.times.1034 (best case). Clearly, it is possible to show only about one sixth of the image.
In order to see the rest, one way is to spool from disc the desired part of the image. The rest may be sitting in RAM in the main memory, but at 30 Mb per image, that is unlikely. Spooling will take seconds, maybe as many as twenty, and then if it is the wrong part of the image, you wait another twenty seconds.
Some manufacturers provide limited pixel depth to allow instant scrolling. By reducing the number of bits per pixel to, say, 12, one can double the image size held in the image buffer. However, now the image has only 12 pixel depth, and true color is no longer available. Further reductions can be made by going to 4 bits per pixel and getting the whole image in the buffer. Scrolling speed is very high because it is just a matter of indexing to the right part of the buffer and outputting the values.